! Kruskal'ın algoritmasının
adımlarını görmek için DEVAM düğmesine tıklayınız.
12.7.2. Kruskal'ın Algoritması
Kruskal'ın1 algoritması en küçük yol ağacını belirlemek için
kullanılır; algoritmik ifadesi davranışsal olarak oldukça basittir; ancak
gerçeklenmesi için bazı yardımcı fonksiyonlara gerek duyulur. Yandaki
canlandırmada 7-düğümlü bir graf üzerinde Kruskal algoritmasının davranışı
gösterilmiştir.
Başlangıçta düğümler arasında herhangi bir bağlantı yok gibi düşünülür
ve ardından düğümler tek tek ve çevrim oluşturmayacak biçimde bağlanır;
eğer bir düğüm çevrim oluşturuyorsa o düğüm atlanır. .
adımda en az maliyetli olan, örnekte B-D kenarı, seçilir ve ilgili düğümler
birleştirilir; .
adımda geride kalan kenarlardan en az maliyetli olan, örnekte F-E, kenarı
seçilir ve ilgili düğümler birleştirilir; .
adımda, en az maliyetli olan kenar A-B kenarıdır; çevrim oluşturmadığı
için bağlanır; .
adımda kalanlar arasından en az maliyetli olan A-C seçilir ve eklenir.
.
adımda F-E seçilir ve bağlanır. .
adımda kalan düğümler arasında en az maliyetli olan düğümler, maliyetleri
3 olan, C-E ve G-F düğümleridir. Önce, C-E denenir; çevrim oluşturduğu
için atlanır. Daha sonra G-F denenir; çevrim oluşturmadığı için bağlanır;
.
adımda kapsanmayan düğüm kalmadığı için işlem sonlandırılır. Yol ağacı
bulunurken, yolun uzunluğu tane N-1 olur; yani, yol üzerindeki
kenar sayısı toplam düğüm sayısından bir eksiktir.
1 KRUSKAL, Joseph Bernard - 1928 yılında
doğan KRUSKAL doktorasını Princeton Üniversitesi'nde 1954 yılında tamamladı;
1959 yılında Bell Lab.ında teknik üye oldu. En kısa yol algoritmasını yüksek
lisans eğitimi sırasında geliştirdi. [ROSEN-1999]